Gambaran keseluruhan Sampukan

Pada asalnya sampukan merupakan satu cara untuk menghalang pembaziran masa berharga pemproses dalam gelung tinjauan untuk menanti peristiwa luaran. Sebaliknya, apabila berlaku suatu peristiwa, sampukan mengisyaratkan pemproses untuk membenarkan pemproses memproses kerja lain sementara menunggu peristiwa tersebut.

Sampukan boleh dilaksanakan dalam perkakasan sebagai suatu sistem dengan talian kawalan atau ia boleh disepadukan ke dalam subsistem ingatan. Jika dilaksanakan dalam perkakasan, pengawal sampukan boleh atur cara (PIC) atau pengawal sampukan boleh atur cara termaju(APIC) akan disambungkan kepada peranti sampukan dan ke pin sampukan pemproses. Jika dilaksanakan sebagai sebahagian daripada pengawal ingatan, sampukan akan dipetakan ke dalam sistem ruang alamat ingatan.

Sampukan boleh dikategorikan kepada beberapa jenis iaitu:

  • sampukan perisian - sampukan yang terhasil di dalam pemproses apabila melaksanakan arahan. Contoh sampukan perisian adalah sistem panggilan.
  • sampukan bertopeng - secara asasnya merupakan sampukan perkakasan yang boleh diabaikan dengan menetapkan bit di dalam bit-topeng pendaftar topeng sampukan (Interrupt Mask Register, IMR).
  • sampukan tanpa-bertopeng (Non-Maskable Interrupt, NMI) - merupakan sampukan perkakasan yang biasanya tidak mempunyai bit-topeng dan boleh diabaikan.
  • sampukan antara pemproses (Interprocessor Interrupt, IPI) - sejenis sampukan istimewa yang terhasil dari satu pemproses untuk menyampuk pemproses lain dalam sistem berbilang-pemproses.
  • sampukan lainan - sampukan perkakasan yang terhasil oleh ralat sistem seperti hingar elektrik pada salah satu talian sampukan PIC.


Pemproses biasanya mempunyai topeng (pelindung) sampukan dalaman yang membenarkan perisian untuk mengabaikan kesemua sampukan perkakasan luaran semasa ia disetkan. Topeng ini menawarkan capaian yang lebih laju berbanding capaian IMR dalam sebuah PIC, atau ia boleh melumpuhkan sampukan dalam peranti itu sendiri. Dalam sesetengah kes seperti senibina x86, perlakuan melumpuh dan membolehkan sampukan pada pemproses itu sendiri bertindak seperti penghalang ingatan (memory barrier) yang mana sebenarnya ia mungkin lebih perlahan.

Fenomena di mana keseluruhan prestasi sistem disekat dengan ketat oleh jumlah masa memproses yang digunakan untuk mengendalikan sampukan yang berlebihan dikenali sebagai ribut sampukan (interrupt storm) atau kunci hidup (live lock).